home *** CD-ROM | disk | FTP | other *** search
/ PC Zone 86 / PC Zone #086.7z / Dppcz0200.mdf / Editor.ial / Messiah / messiahpatch.exe / data1.cab / Program_Executable_Files / messiahscripts / Defines.h < prev    next >
C/C++ Source or Header  |  1999-11-28  |  43KB  |  1,243 lines

  1.  
  2. #ifndef __SAXS_DEFINES_H__
  3. #define __SAXS_DEFINES_H__
  4.  
  5.  
  6.  
  7. #define    _ActionOpenDoor                1
  8. #define    _ActionActivatePanel        2
  9. #define    _ActionSwapWeapon            3
  10. #define    _ActionDropWeapon            4
  11. #define    _ActionPickupWeapon            5
  12. #define    _ActionExitCombatMode        6
  13. #define    _ActionActivateLift            7
  14.  
  15. #define    _pFuncBlood                    0
  16. #define    _pFuncNormal                1
  17. #define    _pFuncFollowSinus            2
  18.  
  19. #define    _ExplodeGlass                1
  20. #define    _ExplodeBig                    2
  21. #define    _ExplodeCrumble                4
  22. #define    _ExplodeAmmoGrenades        8
  23. #define    _ExplodeSmall                16
  24. #define    _ExplodeAmmo                32
  25. #define    _ExplodeRipple                64
  26. #define    _ExplodeWater                128
  27. //DynamicCollision:: 8 bits max
  28.  
  29. #define    _DifficultyEasy                0
  30. #define    _DifficultyMedium            1
  31. #define    _DifficultyHard                2
  32.  
  33. #define    _sFLAGPickedUpGun            1
  34. #define    _sFLAGPickedUpAmmo            2
  35. #define    _sFLAGTargetAimKillShot        4
  36. #define    _sFLAGTargetAimCloseRange    8
  37. #define    _sFLAGOMatrixFlag            16
  38. #define    _sFLAGTrodInGoo                32
  39. #define    _sFLAGCloseToWall            64
  40. #define    _sFLAGTargetLockedOn        128
  41. #define    _sFLAGLastTargetLockedOn    256 
  42. #define    _sFLAGTargetChanged            512
  43. #define    _sFLAGTargetOnScenery        1024
  44. #define    _sFLAGLeftFoot                2048
  45. #define    _sFLAGRightFoot                4096
  46. #define    _sFLAGFootCollide            8192
  47. #define    _sFLAGMatrixRecalc            16384
  48. #define    _sFLAGLostALimb                32768
  49. //SpecialFlag:: 16 bits max
  50.  
  51. #define    _noDIR                    0x1
  52.  
  53. #define    _DIRleft                0x2
  54. #define    _DIRright                0x4
  55.  
  56. #define    _DIRforward                0x8
  57. #define    _DIRbackward            0x10
  58. #define    _DIRsideleft            0x20
  59. #define    _DIRsideright            0x40
  60. #define    _DIRwalking                0x80
  61. #define    _DIRalive                0x100
  62. #define    _DIRactoractorcol        0x200
  63. #define    _DIRunused2                0x400        //available
  64. #define    _DIRjump                0x800
  65. #define    _DIRshoot                0x1000
  66. #define    _DIRgrenade                0x2000
  67. #define    _DIRaction                0x4000
  68. #define    _DIRdepossesion            0x8000
  69. #define    _DIRhuman                0x10000        //used to be _DIRlaser, now i use it not to spawn blood on droids, etc...SHIT! I NEED TO MOVE THIS TO CLASS REALLY!
  70. #define    _DIRcombatmode            0x20000
  71. #define _DIRMove                0x40000    //Set if any of the moveflags are set
  72. #define    _DIRFootSteps            (_DIRleft|_DIRright|_DIRforward|_DIRbackward|_DIRsideleft|_DIRsideright)
  73. //#define    _DIRRunning                (_DIRrun|_DIRrunbackward|_DIRrunsideleft|_DIRrunsideright)
  74. //#define    _DIRMoveFast            (_DIRrun|_DIRrunbackward|_DIRjump|_DIRrunsideleft|_DIRrunsideright)
  75.  
  76. #define    _DIRhorcol                0x80000
  77. #define    _DIRvercol                0x100000
  78. #define    _DIRactorbulletcol        0x200000
  79. #define    _DIRpossesion            0x400000
  80. #define    _DIRhavegun                0x800000
  81. #define    _DIRcrouch                0x1000000
  82. #define    _DIREnvTrigger            0x2000000
  83.  
  84. #define    _DIRTempFlag            0x4000000
  85. #define    _DIRBulletFired            _DIRTempFlag
  86.  
  87. #define _DIRNotEndOfAnim        0x8000000
  88. #define _DIRCloseToCollision    0x10000000    //Set when close to collision with fire, steam or explosion
  89. #define _DIRHeavyRecoil            0x20000000
  90.  
  91. #define _DIRactionhold            0x40000000    //for when the action button is held down
  92.  
  93.  
  94. #define    _DIRairemoveflags        0x5fcff            //all flags under 0x80000 except _DIRcombatmode,_DIRactoractorcol and _DIRdead
  95. #define    _DIRallcol                0x180000        //_DIRvercol|_DIRhorcol
  96. #define _DIRWalkBits            0x80        //0x78
  97. #define _DIRRunBits                0x78        //0x780
  98. #define _DIRMoveBits            0x78        //0x7f8
  99. //Which flags not to delete at start of frameupdate (for playercontrolled characters only)
  100. #define    _DIRkeepflags            (_DIRalive|_DIRactoractorcol|_DIRcombatmode|_DIRNotEndOfAnim|_DIRpossesion|_DIREnvTrigger|_DIRhavegun|_DIRallcol|_DIRactorbulletcol|_DIRCloseToCollision)
  101. //Which flags to delete at end of frameupdate
  102. #define    _DIRdeleteflags            (_DIRcrouch|_DIRpossesion|_DIRactorbulletcol|_DIREnvTrigger|_DIRdepossesion|_DIRCloseToCollision)
  103. #define    _allDIR                    -1
  104.  
  105.  
  106. #define    _ActionNoShadow            1
  107. #define    _ActionBreak            2
  108. #define    _ActionNoMove            4
  109. #define    _ActionOffset            8
  110. #define    _ActionCollisionOff        16
  111. #define    _ActionGravityOff        32
  112. #define    _ActionIntForLoop        64
  113. #define    _ActionGlobalRootYChg    128
  114.  
  115. #define    _ActionActive            1
  116. #define    _ActionPassive            2
  117.  
  118. #define    _ActorFollow            1
  119. #define    _ActorControl            2
  120. #define    _ActorFirstLoop            4
  121. #define    _ActorEndOfAnim            8
  122. #define    _ActorAnimObj            16
  123. #define    _ActorStaticObj            32
  124. #define    _ActorSpriteObj            64
  125. #define    _ActorHaveGun            128
  126.  
  127. #define    _PlayerOneCon            0
  128. #define    _AICon                    2
  129.  
  130. #define    _CamDistance            400        /*default*/
  131. #define    _CamHeight                105        /*default*/
  132.  
  133.  
  134. #define    VEndOfAnim                1
  135. #define    VAICon                    2
  136. #define    VAction                    3
  137. #define    VTrigger                4
  138. //#define    VAtEdge                    5
  139. #define    VRnd                    6
  140. #define    VState                    7
  141. #define    VPlayer1Distance        8
  142. //#define    VAmmo                    9
  143. //#define    VWeaponRange            10
  144. //#define    VActive                    11
  145. //#define    VPassive                12
  146. //#define    VSighting                13
  147. //#define    VNearestActor            14
  148. #define    VAttachActorHealth        15
  149. #define    VActiveTime                16
  150. #define    VFrame                    17
  151. #define    VColAngle                18
  152. #define    VPickDestAngle            19
  153. #define    VPickDestOffsetY        20
  154. #define    VKey                    21
  155. #define    VAttrib                    22
  156. #define    VDistToGround            23
  157. #define    VColFlag                24
  158. #define    VColDistance            25
  159. #define    VColMaterialProperties    26
  160. #define    VCurScene                27
  161. #define    VGameCounter            28
  162. #define    VCurSet                    29
  163. #define    VSetActive                30
  164. #define    VClass                    31
  165. #define    VRank                    32
  166. #define    VKeyObjFrame            33
  167. #define    VKeyObjTriggered        34
  168. #define    VPathDestDistance        35
  169.  
  170. #define    VPathDestAngle            36
  171. #define    VTargetAngle            37
  172. #define    VTargetAngleY            38
  173. #define    VTargetDistance            39
  174. #define    VColNrRebounds            40
  175. #define    VColNrVerRebounds        41
  176. #define    VOTrigger                42
  177. #define    VColSphereSize            43
  178. #define    VColAngleFace            44
  179. #define    VActor                    45
  180. #define VColFeetSphereSize        46
  181. #define VColFeetSphereBottom    47
  182. #define    VColSphereScale            48
  183. #define    VActorColType            49
  184. #define    VHealth                    50
  185. #define VActionRotation            51
  186. #define    VInStateCounter            52
  187. #define    VInput                    53
  188. #define    VAnalog1                54
  189. #define    VAnalog2                55
  190. #define    VAnalog3                56
  191. #define    VInventoryLeft            57
  192. #define    VInventoryType            58
  193. #define    VActionList                59
  194. #define    VKeyObjFrameNoShift        60
  195. #define    VOAction                61
  196. #define    VPickDestAngleCorr        62
  197. #define    VSniperMode                63
  198. #define    VOSniperMode            64
  199. #define    VDirectionHold            65
  200. #define VAIClass                66
  201. #define VActorFlag                67
  202. #define    VCoreAICon                68
  203. #define    VDynamicCollision        69
  204. #define VActivateButton            70
  205. #define    VRootAIClass            71
  206. #define    VRootRank                72
  207. #define    VColBone                73
  208. #define    VDifficulty                74
  209. //#define    VSetParticleSetID        75
  210. ///#define    VPickedUpAmmo            76
  211. #define VCheatKeys                77
  212. #define    VOInput                    78
  213. #define VFirstPerson            79
  214. #define    VParentTrigger            80
  215. #define    VColObjTriggered        81
  216. #define VOHealth                82
  217. #define VColSphereOffsetY        83
  218. #define    VWeaponAmmoType            84
  219. #define    VWeaponType                85
  220. #define    VWeaponAmmoLeft            86
  221. #define VDeadClass                87
  222. #define    VDeadRank                88
  223. #define    VDeadAIClass            89
  224. #define    VCutScene                90
  225. #define    VCutSceneFrame            91
  226. #define    VFreeLook                92
  227. #define    VLockedColBone            93
  228. #define    VCutSceneFrameEqual        94
  229. #define    VLockedOnAngle            95
  230. //#define    Vclosetowall            96
  231. //#define    VTargetAimFlags            97
  232. #define    VSpecialFlag            96
  233. #define VKeyObjDirection        97
  234. #define VInitSceneSounds        98
  235. #define VPathID                    99
  236. #define VEXPCamera                100
  237. #define VActionCode                101
  238.  
  239. #define    VAItimeforupdate        200
  240. #define    VAIleader                201        //AI specific calls
  241. #define    VAIgroupstate            202
  242. #define    VAInotargettime            203
  243. #define    VAItargetfound            204
  244. #define    VAIgrouphealth            205
  245. #define    VAIpowerrating            206
  246. #define    VAIgroupleft            207
  247. #define    VAItimeincurrentorder    208
  248. #define    VAIlasttargetfound        209
  249. #define    VAInringroup            210
  250. #define    VAIingroup                211
  251. #define    VAIrebel                212
  252. #define    VAIhealth                213
  253. #define    VAIaskedtojoin            214
  254. #define    VAIchangetonewgroup        215
  255. #define    VAIstate                216
  256. #define    VAIstatehigh            217
  257. #define    VAIlaststate            218
  258. #define    VAIstatechanged            219
  259. #define    VAIleaderaspirations    220
  260. #define    VAIhideheight            221
  261. #define    VAIcornerangle            222
  262. #define    VAIcornerdistance        223
  263. #define    VAIhidenodenear            224
  264. #define    VAItimenottarget        225
  265. #define    VAItargetclass            226
  266. #define    VAInrattackingplayer    227
  267. #define    VAIenemiesattackingplayerstrenght    228        //only for PlayerOne
  268. #define    VAItargetstrenght        229
  269. #define    VAItargethealth            230
  270. #define    VAInrattackingactor        231
  271. #define    VAImanpowerindex        232
  272. #define    VAItargettrigger        233                    //used to check direction bits on target actor
  273. #define    VAItargetseenme            234                    //am I in target's CurrentlyVisible list
  274. #define    VAIhastarget            235                    //do I have a target?
  275. #define    VAIhaspath                236                    //do I have a path?
  276. #define    VAItargetvisible        237                    //can I see my TargetActor?
  277. #define    VAIlosttargetptr        238                    //if entity to actor dleted the targetptr
  278. #define    VAITargetIsFriend        239
  279.  
  280. #define    FSpawnActor                1
  281. #define    FInitActor                2
  282. #define    FKillActor                3
  283. #define    FCall                    4
  284. #define    FSample                    5
  285. #define    FMove                    6
  286. #define    FSpawnAction            7
  287. #define    FState                    8
  288. #define    FDirection                9
  289. #define    FType                    10
  290. #define    FAIPickDest                11
  291. #define    FTurn                    12
  292. #define    FCalcLocalTurnMat        13
  293. #define    FScaleBoneMatrix        14
  294. #define    FCamera                    15
  295. #define    FTarget                    16
  296. #define    FFloat                    17
  297. #define    FVector                    18
  298. #define    FCameraRot                19
  299. #define    FRotateBone                20
  300. #define    FResetBone                21
  301. #define    FCenterBone                22
  302. #define    FPrint                    23
  303. #define    FPrintI                    24
  304. #define    FPrintLog                25
  305. #define    FPrintILog                26
  306. #define    FCollision                27
  307. #define    FSetFrame                28
  308. #define    FSpawnParticle            29
  309. #define    FSpawnLight                30
  310. #define    FSpawnGooFX                31
  311. #define    FCallSub                32
  312. #define    FBreak                    33
  313. #define    FCurEnvTrigger            34
  314. #define    FSetKeyFrame            35
  315. #define    FMessage                36
  316. #define    FAIGroupPickDest        37
  317. #define    FCameraGroundClearance    38
  318. #define    FCheckActorCollision    39
  319. #define    FClrStateCounter        40
  320. #define FSetActorToTrigger        41
  321. #define    FPrint3D                42
  322. #define    FCurEnvTriggerSet        43
  323. #define    FSampleStop                44
  324. #define    FPCall                    45
  325. #define    FKFSample                46
  326. #define    FColState                47
  327. #define    FTriggerMessage            48
  328. #define    FDMessage                49
  329. #define FActorFlag                50
  330. #define    FChangeMaterialFlags    51
  331. #define    FGetNumbActorsInSet        52
  332. #define FMoveFeetColOffset        53
  333. #define    FSlope                    54
  334. #define    FRotate                    55            //rotat root bone about local axis
  335. #define FFirstPerson            56
  336. #define    FSampleVolume            57
  337. #define FColObj                    58
  338. #define    FSpawnActorBone            59
  339. #define    FCutScene                60
  340. #define FKillLight                61
  341. #define FMissionObjective        62
  342. #define    FSpawnActorKFObj        63
  343. #define    FDebugMessage            64
  344. #define FAddTutorialLine        65
  345. #define FClearTutorialLines        66
  346. #define FDisplayTutorialScreen    67
  347. #define FHideTutorialScreen        68
  348. #define    FGravity                69
  349. #define    FPrintH                    70
  350. #define    FPrintIH                71
  351. #define    FClearDMessage            72
  352. #define    FSpecialFlag            73
  353. #define    FSpawn3DFlare            74            //the only special case fx
  354.  
  355. #define    CheckForPickup                0
  356. #define    CheckAttached                1
  357. #define    CheckForPossesion            2
  358. #define    CheckBulletCollision        3
  359. #define    CheckBoneCollision            4
  360. #define    CheckActorCollision            5
  361. #define    CheckForGrab                6
  362. #define    AttachLockedActor            7
  363. #define    AttachToActor                8
  364. #define    CheckForVisual                9
  365. #define    WallBulb                    10
  366. #define    DrawLaserBeam                11
  367. #define    CDPlay                        12
  368. #define    CDStop                        13
  369. #define    CDPause                        14
  370. #define    CDResume                    15
  371. #define    BonePointTrack                16
  372. #define    KeyObjTrigger                17        //control triggering of keyobjs (endframe,direction,OPTIONAL: triggervalue) direction==0 && triggervalue==0 -> stop object from mving
  373. #define    KeyObjActiveSegment            18
  374. #define    KeySpeed                    19
  375. #define    EXPSet1                        20
  376. #define    EXPSet2                        21
  377. #define    LightBulb                    22
  378. #define    ChangeAlpha                    23
  379. #define    ReDrawActor                    24
  380. #define    CheckConnections            25
  381. #define    CameraFollow                26
  382. #define    AICon                        27
  383. #define SubtractHealth                28
  384. #define    IsPickupClose                29
  385. #define    ModelAmbient                30
  386. #define    ChangeInventory                31
  387. #define    ForceRunning                32
  388. #define    SetParticleSetID            33
  389. #define ThrowCharacter                34
  390. #define CheckTriggers                35
  391. #define ActivateButton                36
  392. #define ExecuteActivateCode            37
  393. #define    pScale                        38        //particle call types
  394. #define    pFlicControl                39
  395. #define    pColor                        40
  396. #define    pAngle                        41
  397. #define    pRotate                        42
  398. #define    pTrans                        43
  399. #define    pFader                        44
  400. #define    pWeight                        45
  401. #define    pScalar                        46
  402. #define    AttachToColObjHeader        47
  403. #define    ToggleKey                    48
  404. #define    pSinusx                        49
  405. #define    pSinusy                        50
  406. #define    CheckForDynamicCollision    51
  407. #define    PickNewNode                    52
  408. #define    wCheckViewCollision            53        //special weapon type cops laser
  409. #define    ClrPath                        54
  410. #define    wCheckWeaponTarget            55        //weapon targetting
  411. #define    pLifeSpan                    56
  412. #define    pCollision                    57
  413. #define    pRebound                    58
  414. #define    pColDeath                    59
  415. #define    pRotateWithDir                60
  416. #define    pTridi                        61
  417. #define    pKillWithActor                62
  418. #define    pSpawnFromStart                63
  419. #define    pFunc                        64
  420. #define    MatrixCallback                65
  421. #define    pFlipUV                        66
  422. #define    CheckForJumpPossesion        67
  423. #define    CheckFootCollision            68
  424. #define    pSinusz                        69
  425. #define PlaySequence                70
  426. #define ChangeSniperMode            71
  427. #define ActivateButtonSample        72
  428. #define    ToggleListenerSource        73
  429. #define PlayerInput                    74
  430. #define LockCamera                    75
  431. #define GodModeStatus                76
  432. #define EXPGet                        77
  433. #define PlaneTriggerQuadrant        78
  434. #define    SetKeyObjFrame                79
  435. #define CheckTriggerObjFlag            80
  436. #define    MoveBackgroundObject        81
  437. #define ChangeFog                    82
  438. #define DeadClassRank                83
  439. #define    ChangeTrigger                84
  440. #define    wUpdateBulletDamage            85
  441. #define    RandomizeAimMatrix            86
  442. #define    SaveAimMatrix                87
  443. #define    RestoreAimMatrix            88
  444. #define    FreeLook                    89
  445. #define DisplayObjectives            90
  446. #define    ClrAnalogValues                91
  447. #define BlastObjCollisionCheck        92
  448. #define GetNumbActorsInCurrentSet    93
  449. #define ChangeCutScene                94
  450. #define    TransferPlayerToAttachActor    95
  451. #define    XRayModeController            96
  452. #define    SetBlendingMode                97
  453. #define    ClearBlendingModeChanges    98
  454. #define    SetSlowFastMotion            99
  455. #define    ClrSlowFastMotion            100
  456. #define    CalcTransMat                101
  457. #define    SearchForCloseActor            102
  458. #define    SetLockedOnActorToParent    103
  459. #define    ClrParentPtr                104
  460. #define    CopyParentFlags                105
  461. #define DontBlowBattery                106
  462. #define    CDVol                        107
  463. #define    WAVEVol                        108
  464. #define    PauseToggle                    109
  465. #define KeyObjControl                110
  466. #define    ScreenShake                    111
  467. #define    ScreenShakeStop                112
  468. #define SniperKFObj                    113
  469. #define SetTriggerObjFlag            114
  470. #define SetFlagsOnActiveActors        115        //change Direction and ActorFlag on all active actors  (radius,height,DUMMY,direction,actorflag)
  471. #define ClrFlagsOnActiveActors        116        //clr Direction and ActorFlag on all active actors  (radius,height,DUMMY,direction,actorflag)
  472. #define    RestoreOldHealth            117        //put OHealth in Health ()
  473. #define PickupActor                    118
  474. #define GlobalAmbient                119
  475. #define    FadeCDVolume                120
  476. #define ExplodeObject                121
  477. #define    ClrAllCollisionBuffers        122
  478. #define    ChangeRelativeSpeed            123
  479. #define    FadeToBlack                    124
  480. #define AutoTesselation                125
  481. #define CheckColSphereOffset        126
  482. #define FaceTriggerDirection        127
  483. #define ActivateTrigger                128
  484. #define ForceGlobalRealloc            129
  485. #define    ChangeHitByFireCount        130
  486. #define CutSceneEnd                    131
  487. #define    DetachReattachToPath        132
  488. #define KillHarpoonHandler            133
  489.  
  490. #define    AIasktojoin                    200        //AI specific calls
  491. #define    AIcheckfortarget            201
  492. #define    AIorder                        202
  493. #define    AIreleasegroup                203
  494. #define    AIbreakfromgroup            204
  495. #define    AIjoinnewgroup                205
  496. #define    AIselecttarget                206
  497. #define    AIclrtarget                    207
  498. #define    AIupdateAIvars                208
  499. #define    AIgrouppickdest                209
  500. #define    AIpickdest                    210
  501. #define    AIcorrectforobstacles        211
  502. #define    AIcheckforonpath            212
  503. #define    AIcheckactorstates            213
  504. #define    AIcheckactorstatesneg        214
  505. #define    AIchecklogtrajectory        215
  506. #define    AIpicknewhidenode            216
  507. #define    AIclrhidenode                217
  508. #define    AIupdatetargetpos            218
  509. #define    AIcheckactordirections        219
  510. #define    AIcheckactoractions            220
  511. #define    AIchangefriendtoenemy        221
  512. #define    AIchangeenemytofriend        222
  513. #define    AIchangeplayertoenemy        223
  514. #define    AIcheckbulletorigin            224
  515. #define    AIcheckattachactionorigin    225
  516. #define    AIreinstateactoraiclass        226
  517. #define    AIlockedtoactorflag            227
  518. #define    AIalert                        228
  519. #define    AIcheckforplayerone            229
  520. #define    AIfindpathwithspecificstate    230
  521. #define    AIfindpathwithspecificid    231
  522. #define    AIcalcdroidposition            232
  523. #define    AIupdatemovementvariables    233        //update TargetAngle, TargetDistance etc. ()
  524. #define    AIchangemetoenemy            234        //set _AIclassEnemy on actor ()
  525. #define    AIchangerank                235        //change range on actor (rank)
  526. #define    AIexecutecodewithinradius    236
  527. #define    AIsetlockedonactortotarget    237
  528. #define    AIchangetargettoenemy        238
  529. #define    AIchangeclass                239
  530.  
  531. #define    StateNormal                    0x1
  532. #define    StateFalling                0x2
  533. #define    StateFlying                    0x4
  534. #define    StateGliding                0x8
  535. #define    StateHeadTrack                0x10
  536. #define    StateJump                    0x20
  537. #define    StateExecuteAnim            0x40
  538. #define    StateDrag                    0x80
  539. #define    StateDead                    0x100
  540. #define    StateCrawling                0x200
  541. #define    StateBangedHead                0x400
  542. #define    StateOnFire                    0x800
  543. #define    StateSteamed                0x1000
  544. #define    StateBlind                    0x2000
  545. #define    StatePatrol                    0x4000
  546. #define    StateAttack                    0x8000
  547. #define    StateAttached                0x10000
  548. #define    StateHarpooned                0x20000
  549. #define    StateElectricShock            0x40000
  550. #define    StateFollowPath                0x80000
  551. #define    StateExecutePathSequence    0x100000
  552. #define    StateCrouching                0x200000
  553. #define    StateThrown                    0x400000
  554. #define StateForceField                0x800000
  555. //no bits left here (24 bit)
  556. #define    StateAllNormalStates        0x180001
  557. #define StateInAir                    (StateFalling|StateFlying|StateGliding)
  558.  
  559. #define _AFLAGnopossesion        0x1            //actor cannot be possesed when this bit is set
  560. #define _AFLAGdoor                0x2            //actor will open a door if action is pressed
  561. #define _AFLAGpanel                0x4            //actor will activate a panel if action is pressed
  562. #define _AFLAGlogon                0x8            //if actor has a lock on enemy
  563. #define _AFLAGSniped            0x10        //if actor has been shot by a sniper
  564. #define _AFLAGSqueeze            0x20        //if actor has been squeezed by KF objects
  565. #define _AFLAGforceactive        0x40        //forces processing of actor even if set is not open
  566. #define _AFLAGnocollision        0x80        //disables collision in the actortoactor collision
  567. #define _AFLAGnorotation        0x100        //disables player rotational input
  568. #define _AFLAGattached            0x200        //in the middle of attach action
  569. #define _AFLAGnotarget            0x400        //turns targeting off on actor (non interactive characters)
  570. #define _AFLAGactivatebutton    0x800        //flag is set if character was told to activate a console in backgroundtriggerchecks
  571. #define _AFLAGnoai                0x1000        //flag is set if character is not performing ai
  572. #define _AFLAGlift                0x2000        //actor will activate a lift if action is pressed
  573. #define _AFLAGsniper            0x4000        //actor gets sniper vision (for now that means x2 perception and better light tolerance)
  574. #define    _AFLAGradiated            0x8000        //when within a radioactive zone
  575. #define    _AFLAGspawnaction        0x10000        //set if spawnaction was executed this frame to make sure from 0 is displayed
  576. #define    _AFLAGsignalfromparent    0x20000        //like tempflag. used to send signals to weapons about abnormal state (fx. drift)
  577. #define    _AFLAGnomove            0x40000        //so you can't push around stationary objects
  578. #define    _AFLAGweaponinvisible    0x80000        //so it is possible to holster weapons
  579. #define    _AFLAGconfused            0x100000    //after concussion bomb
  580. #define    _AFLAGshieldon            0x200000    //shield currently active
  581. #define _AFLAGresetfallalt        0x400000    //is used to prevent teleported characters from dying when they get to destination
  582. #define _AFLAGpossesed            0x800000    //has other character inside
  583. #define _AFLAGkillandremove        0x1000000    //signal to kill itself and remove itself from list
  584. #define _AFLAGinitialize        0x2000000    //signal to the actor to do special init code in the scripts
  585. #define _AFLAGnolinkup            0x4000000    //this actor should never do a linkup animation
  586. #define _AFLAGcolfromabove        0x8000000    //the actors horizontal collision comes from above
  587. #define _AFLAGSniperLongRange    0x10000000    //Vision is multiplied by five. Special case
  588.  
  589.  
  590. #define _COLfalling                0    //I ran out of bits. Besides, all characters must be damaged by this. How much is set in the characters' script.
  591. #define    _COLfire                1
  592. #define    _COLsmallbullet            2
  593. #define    _COLbigbullet            4    //used for shotgun, if shot from point blank then sends player flying..ha!
  594. #define    _COLexplosion            8
  595. #define    _COLelectricity            16
  596. #define    _COLholy                32
  597. #define    _COLsingleattach        64
  598. #define    _COLsteam                128
  599.  
  600. #define _COLAll                    255
  601. #define _COLAllExceptFire        254
  602. #define _COLAllExceptBullets    249
  603. #define _COLAllExceptHoly        223
  604. #define _COLsinglecol            (_COLsmallbullet|_COLbigbullet|_COLsingleattach)    //Bullet can only hit one actor
  605. #define _COLOnlyOnce            (_COLfire|_COLsteam|_COLsingleattach|_COLelectricity)    //Actor can only be hit by one of these each frame (Not only for ActorCollision, not for BulletCollision)
  606. #define _COLTwoDistances        (_COLexplosion|_COLbigbullet)    //Which types can set the _DIRCloseToCollision
  607.  
  608. #define _CANormal                0
  609. #define _CADropWeapon            1
  610. #define _CADropWeaponAndShells    2
  611. #define _CASwapWeapon            3
  612. #define _CADropBattery            4
  613. #define    _CADropActor            5
  614.  
  615. #define    _SXAAalignmovingmaster        1    //flags for action attach
  616. #define    _SXAAalignmovingslave        2
  617. #define    _SXAAdisablecollision        4
  618. #define    _SXAAdisablerotation        8
  619. #define _SXAAonlydeadpeople            16
  620. #define    _SXAAAlignTransToY            32
  621.  
  622. #define _ClassFX                0        //MISSING: Remove this
  623.  
  624. #define    _ClassModel                8
  625. #define    _ClassWeapon            16
  626. #define    _ClassBullet            32
  627. #define    _ClassDontStickToWall    64                //Set if character is too solid
  628. #define    _ClassPickup            128                
  629. #define    _ClassAmmoPickup        144    //_ClassPickup|_ClassWeapon
  630.  
  631. //It cannot check for the following types as categories, only as compares of VClass==
  632. #define    _ClassHalo                1|_ClassPickup                    //Must be unique from other pickups
  633.  
  634. #define    _ClassAngel                0|_ClassModel        
  635. #define    _ClassCop                1|_ClassModel
  636. #define    _ClassProstitute        2|_ClassModel
  637. #define    _ClassDroid                3|_ClassModel
  638. #define    _ClassMedic                4|_ClassModel
  639. #define    _ClassGeneric            5|_ClassModel
  640. //6-7 are free
  641. #define    _ClassBeast                0|_ClassModel|_ClassDontStickToWall
  642. //1-7 are free
  643.  
  644. #define    _RankScum                1
  645. #define    _RankPrivate            2
  646. #define    _RankSergeantL            3
  647. #define    _RankSergeantM            4
  648. #define    _RankSergeantH            5
  649. #define    _RankCommander            6
  650. #define    _RankGeneral            7
  651.  
  652. #define    _AttachLeftHand            0
  653. #define    _AttachRightHand        1
  654. #define    _AttachHead                2
  655. #define    _CarryLeftHand            4
  656. #define    _CarryRightHand            8
  657.  
  658.  
  659. #define    _EmptyCondition            0
  660. #define    _If                        1
  661. #define    _ElseIf                    2
  662. #define    _Else                    3
  663. #define    _Switch                    4
  664. #define    _Case                    5
  665. #define    _Default                6
  666.  
  667. #define    _Equal                    1
  668. #define    _NotEqual                2
  669. #define    _Less                    3
  670. #define    _LessEqual                4
  671. #define    _Greater                5
  672. #define    _GreaterEqual            6
  673. #define    _AndEqual                7
  674. #define    _AndEqualEqual            8
  675. #define    _AndNotEqual            9
  676.  
  677. #define    True                    1
  678. #define    False                    0
  679. #define    oFF                        0
  680. #define    oN                        1
  681. #define    _DUMMY                    0
  682.  
  683. #define    _Gfloat                1
  684. #define    _Gvector            2
  685. #define    _Gmat                3
  686. #define    _float                4
  687. #define    _vector                5
  688. #define    _mat                6
  689. #define    _declare            7
  690. #define    _set                8
  691. #define    _seti                9
  692. #define    _add                10
  693. #define    _sub                11
  694. #define    _mul                12
  695. #define    _div                13
  696. #define    _addtime            14
  697. #define    _settoactorpos        15
  698. #define    _settotargetpos        16
  699. #define    _setactorpos        17
  700. #define    _settargetpos        18
  701. #define    _distance            19
  702. #define    _distance2            20
  703. #define    _normalize            21
  704. #define    _dotproduct            22
  705. #define    _xproduct            23
  706. #define    _direction            24
  707. #define    _copyx                25
  708. #define    _copyy                26
  709. #define    _copyz                27
  710. #define    _setx                28
  711. #define    _sety                29
  712. #define    _setz                30
  713. #define    _rnd                31
  714. #define    _copy                32
  715. #define    _vectorfromangle    33
  716. #define    _vectorfromdirflags    34
  717. #define    _and                35
  718. #define    _or                    36
  719. #define    _xor                37
  720. #define    _clr                38
  721. #define    _change                39
  722. #define    _speedfromdirflags    40
  723. #define    _rotate                41
  724. #define    _setparent            42
  725. #define    _clrparent            43
  726. #define    _copyparent            44
  727. #define    _rnd2                45
  728. #define    _swapyz                46
  729. #define    _settobonepos        47
  730. #define _inv                48
  731. #define    _target                49
  732. #define    _settocolobjpos        50
  733. #define    _subx                51
  734. #define    _suby                52
  735. #define    _subz                53
  736. #define    _addx                54
  737. #define    _addy                55
  738. #define    _addz                56
  739. #define _shiftleft            57
  740. #define _shiftright            58
  741. #define    _settolockedpos        59
  742. #define    _multiplywithtransmat    60
  743. #define    _settopathdest        61
  744. #define    _setpathdest        62
  745. #define    _sin                63
  746. #define    _cos                64
  747. #define    _settokfpos            65
  748. #define    _settocolpos        66
  749. #define _round                67
  750. #define _multiplywithobjtransmat 68
  751. #define _settotriggerpos    69
  752. #define _abs                70
  753.  
  754. #define    _SXIleft            0x1        //analog partner1        +-=1
  755. #define    _SXIright            0x2        //analog partner1
  756. #define    _SXIup                0x4        //analog partner2        +-=1
  757. #define    _SXIdown            0x8        //analog partner2
  758. #define    _SXIfleft            0x10    //analog partner3        +-=1
  759. #define    _SXIfright            0x20    //analog partner3
  760. #define    _SXIbutton1            0x40
  761. #define    _SXIbutton2            0x80
  762. #define    _SXIbutton3            0x100
  763. #define    _SXIbutton4            0x200
  764. #define    _SXIbutton5            0x400
  765. #define    _SXIbutton6            0x800
  766. #define    _SXIbutton7            0x1000
  767. #define    _SXIbutton8            0x2000
  768. #define    _SXIstart            0x4000
  769. #define    _SXIselect            0x8000
  770.                                     //start of keyboard specific input
  771. #define    _SXIbutton9            0x10000
  772. #define    _SXIbutton10        0x20000
  773. #define    _SXIbutton11        0x40000
  774. #define    _SXIbutton12        0x80000
  775.  
  776. //tutorial bits (Msika's)
  777. #define help01    0x1
  778. #define help02    0x2
  779. #define help03    0x4
  780. #define help04    0x8
  781. #define help05    0x10
  782. #define help06    0x20
  783. #define help07    0x40
  784. #define help08    0x80
  785. #define help09    0x100
  786. #define help10    0x200
  787. #define help11    0x400
  788. #define help12    0x800
  789. #define help13    0x1000
  790. #define help14    0x2000
  791. #define help15    0x4000
  792. #define help16    0x8000
  793. #define help17    0x10000
  794. #define help18    0x20000
  795. #define help19    0x40000
  796. #define help20    0x80000
  797. #define help21    0x100000
  798. #define help22    0x200000
  799. #define help23    0x400000
  800. #define help24    0x800000
  801. #define AllHelp 0xffffff
  802. #define RadBit  0xf00000
  803.  
  804. #define KEY_ESCAPE            1
  805. #define KEY_1                 2
  806. #define KEY_2                 3
  807. #define KEY_3                 4
  808. #define KEY_4                 5
  809. #define KEY_5                 6
  810. #define KEY_6                 7
  811. #define KEY_7                 8
  812. #define KEY_8                 9
  813. #define KEY_9                10
  814. #define KEY_0                11
  815. #define KEY_MINUS            12    /* - on main keyboard */
  816. #define KEY_EQUALS           13
  817. #define KEY_BACK             14    /* backspace */
  818. #define KEY_TAB              15
  819. #define KEY_Q                16
  820. #define KEY_W                17
  821. #define KEY_E                18
  822. #define KEY_R                19
  823. #define KEY_T                20
  824. #define KEY_Y                21
  825. #define KEY_U                22
  826. #define KEY_I                23
  827. #define KEY_O                24
  828. #define KEY_P                25
  829. #define KEY_LBRACKET         26
  830. #define KEY_RBRACKET         27
  831. #define KEY_RETURN           28    /* Enter on main keyboard */
  832. #define KEY_LCONTROL         29
  833. #define KEY_A                30
  834. #define KEY_S                31
  835. #define KEY_D                32
  836. #define KEY_F                33
  837. #define KEY_G                34
  838. #define KEY_H                35
  839. #define KEY_J                36
  840. #define KEY_K                37
  841. #define KEY_L                38
  842. #define KEY_SEMICOLON        39
  843. #define KEY_APOSTROPHE       40
  844. #define KEY_GRAVE            41    /* accent grave */
  845. #define KEY_LSHIFT           42
  846. #define KEY_BACKSLASH        43
  847. #define KEY_Z                44
  848. #define KEY_X                45
  849. #define KEY_C                46
  850. #define KEY_V                47
  851. #define KEY_B                48
  852. #define KEY_N                49
  853. #define KEY_M                50
  854. #define KEY_COMMA            51
  855. #define KEY_PERIOD           52    /* . on main keyboard */
  856. #define KEY_SLASH            53    /* / on main keyboard */
  857. #define KEY_RSHIFT           54
  858. #define KEY_MULTIPLY         55    /* * on numeric keypad */
  859. #define KEY_LMENU            56    /* left Alt */
  860. #define KEY_SPACE            57
  861. #define KEY_CAPITAL          58
  862. #define KEY_F1               59
  863. #define KEY_F2               60
  864. #define KEY_F3               61
  865. #define KEY_F4               62
  866. #define KEY_F5               63
  867. #define KEY_F6               64
  868. #define KEY_F7               65
  869. #define KEY_F8               66
  870. #define KEY_F9               67
  871. #define KEY_F10              68
  872. #define KEY_NUMLOCK          69
  873. #define KEY_SCROLL           70    /* Scroll Lock */
  874. #define KEY_NUMPAD7          71
  875. #define KEY_NUMPAD8          72
  876. #define KEY_NUMPAD9          73
  877. #define KEY_SUBTRACT         74    /* - on numeric keypad */
  878. #define KEY_NUMPAD4          75
  879. #define KEY_NUMPAD5          76
  880. #define KEY_NUMPAD6          77
  881. #define KEY_ADD              78    /* + on numeric keypad */
  882. #define KEY_NUMPAD1          79
  883. #define KEY_NUMPAD2          80
  884. #define KEY_NUMPAD3          81
  885. #define KEY_NUMPAD0          82
  886. #define KEY_DECIMAL          83    /* . on numeric keypad */
  887. #define KEY_F11              87
  888. #define KEY_F12              88
  889. #define KEY_F13             100    /*                     (NEC PC98) */
  890. #define KEY_F14             101    /*                     (NEC PC98) */
  891. #define KEY_F15             102    /*                     (NEC PC98) */
  892. #define KEY_KANA            112    /* (Japanese keyboard)            */
  893. #define KEY_CONVERT         121    /* (Japanese keyboard)            */
  894. #define KEY_NOCONVERT       123    /* (Japanese keyboard)            */
  895. #define KEY_YEN             125    /* (Japanese keyboard)            */
  896. #define KEY_NUMPADEQUALS    141    /* = on numeric keypad (NEC PC98) */
  897. #define KEY_CIRCUMFLEX      144    /* (Japanese keyboard)            */
  898. #define KEY_AT              145    /*                     (NEC PC98) */
  899. #define KEY_COLON           146    /*                     (NEC PC98) */
  900. #define KEY_UNDERLINE       147    /*                     (NEC PC98) */
  901. #define KEY_KANJI           148    /* (Japanese keyboard)            */
  902. #define KEY_STOP            149    /*                     (NEC PC98) */
  903. #define KEY_AX              150    /*                     (Japan AX) */
  904. #define KEY_UNLABELED       151    /*                        (J3100) */
  905. #define KEY_NUMPADENTER     156    /* Enter on numeric keypad */
  906. #define KEY_RCONTROL        157
  907. #define KEY_NUMPADCOMMA     179    /* , on numeric keypad (NEC PC98) */
  908. #define KEY_DIVIDE          181    /* / on numeric keypad */
  909. #define KEY_SYSRQ           183
  910. #define KEY_RMENU           184    /* right Alt */
  911. #define KEY_HOME            199    /* Home on arrow keypad */
  912. #define KEY_UP              200    /* UpArrow on arrow keypad */
  913. #define KEY_PRIOR           201    /* PgUp on arrow keypad */
  914. #define KEY_LEFT            203    /* LeftArrow on arrow keypad */
  915. #define KEY_RIGHT   205    /* RightArrow on arrow keypad */
  916. #define KEY_END             207    /* End on arrow keypad */
  917. #define KEY_DOWN            208    /* DownArrow on arrow keypad */
  918. #define KEY_NEXT            209    /* PgDn on arrow keypad */
  919. #define KEY_INSERT          210    /* Insert on arrow keypad */
  920. #define KEY_DELETE          211    /* Delete on arrow keypad */
  921. #define KEY_LWIN            219    /* Left Windows key */
  922. #define KEY_RWIN            220    /* Right Windows key */
  923. #define KEY_APPS            221    /* AppMenu key */
  924.  
  925.  
  926.  
  927. #define    _MATstair            1
  928. #define    _MATnocol            2
  929. #define    _MATsmallLedge        4
  930. #define    _MATstairOrLedge    5
  931. #define    _MATLedge            8
  932. #define    _MATWood            16
  933. #define    _MATMetal            32
  934. #define    _MATWater            64
  935. #define    _MATSheetMetal        128
  936. #define    _MATConcrete        256
  937. #define    _MATGlass            512
  938. #define    _MATKFO                1024
  939. #define    _MATRipple            2048
  940. #define    _MATBalance            4096
  941. #define    _MATDrown            8192
  942. #define    _MATPush            16384
  943. #define    _MATMoveActor        32768
  944.  
  945. #define    _SXEXPActorMatrixBulb    1
  946.  
  947. //Light defines
  948.  
  949. #define    _SXLvolume                        1    
  950. #define    _SXLadditive                    2
  951. #define    _SXLdirectional                    4
  952. #define    _SXLomni                        8
  953. #define    _SXLplane                        16
  954. #define    _SXLspawnedfromexp                32            //this is set if spawned from expomniattach
  955. #define    _SXLNoShadow                    64
  956. //Are you adding or modifying light defines?
  957. //if you are please tell Torgeir what you are changing
  958.  
  959.  
  960. //AI defines
  961. #define    AINOTARGETTHRESHOLD                1500
  962. #define    AINOTARGETSEARCHTHRESHOLD        1200
  963. #define    AISTOPIFNOTARGETTHRESHOLD        2000
  964. #define    AIINORDERREGROUPTHRESHOLD        400
  965.  
  966. #define    _AIfriend                        1
  967. #define    _AIenemy                        2
  968. #define    _AIundetermined                    4
  969. #define    _AIgrenade                        8
  970.  
  971. //Variables shared in RenED
  972. #define    _AIstateRetreat                    1    //off
  973. #define    _AIstateAttention                2    //off
  974. #define    _AIstateSurrender                3    //off
  975. #define    _AIstateRegroup                    4    //off
  976. #define    _AIstateAttack                    5    //off
  977. #define    _AIstateSpreadOut                6    //off
  978. #define    _AIstateHide                    7    //off
  979. #define    _AIstateAtEase                    8    //off
  980. #define    _AIstateSurround                9    //off
  981. #define    _AIstateGetDown                    10    //off
  982. #define    _AIstateFallIn                    11    //off
  983. #define    _AIstateSearch                    12    //off
  984. #define    _AIstateFlee                    13    //off
  985.  
  986. #define    _AIstateINTERNALFLAGSTOPSHERE    13
  987.  
  988. #define    _AIstateIdle                    14
  989. #define    _AIstateWork                    15
  990. #define    _AIstateWorkWeld                16
  991. #define    _AIstatePatrol                    17
  992. #define    _AIstateShoot                    18
  993. #define    _AIstateSmoke                    19
  994. #define    _AIstateRun                        20
  995. #define    _AIstateChotEat                    21    
  996. #define    _AIstateDrop                    22
  997. #define    _AIstateWatchTV                    23    
  998. #define    _AIstatePushUp                    24    
  999. #define    _AIstateShadowBoxing            25    
  1000. #define    _AIstateWatchTVIdle                26    
  1001. #define    _AIstatePressAlarmButton        27
  1002. #define    _AIstateGuard                    28
  1003. #define    _AIstatePressButton                29
  1004. #define    _AIstateSmokeBong                30
  1005. #define    _AIstateGetToWork                31    //off
  1006. #define    _AIstateCombatModeReact            32    //off
  1007. #define    _AIstatePossesionReact            33    //off
  1008. #define    _AIstateDePossesionReact        34    //off
  1009. #define    _AIstateReactToBob                35    //off
  1010. #define    _AIstateCowering                36
  1011. #define _AIstateWeldKneel                37
  1012. #define _AIstateTurnToSound                38
  1013. #define _AIstateTurnToSoundSlow            39
  1014. #define _AIstateGestureAtBob            40
  1015. #define _AIstateDropBattery                41
  1016. #define _AIstateSuicide                    42
  1017. #define _AIstateGetWeapon                43
  1018. #define _AIstateConfused                44
  1019. #define _AIstateSneakUp                    45
  1020. #define _AIstateRiotCop                    46
  1021. #define _AIstateFollowTheLeader            47
  1022. #define _AIstateDetachFromPath            48
  1023. #define _AIstateShutDown                49
  1024. #define _AIstateFreakyFemDance            50
  1025. #define _AIstateFreakyManDance            51
  1026. #define _AIstateDwellerBarIdle1            52
  1027. #define _AIstateDwellerBarIdle2            53
  1028. #define _AIstateDwellerBarIdle3            54
  1029. #define _AIstateDwellerBarIdle4            55
  1030. #define _AIstateBouncerBlockBar            56
  1031. #define _AIstateBouncerNoBlock            57
  1032. #define _AIstateDJPuke                    58
  1033. #define _AIstateDJChillyChill1            59
  1034. #define _AIstateDJChillyChill2            60
  1035. #define _AIstateDJChillyChill3            61
  1036. #define _AIstateDJSpinRekids            62
  1037. #define _AIstateWaitressSpill            63
  1038. #define _AIstateWaitressClean            64
  1039. #define _AIstateWaitressPrimp1            65
  1040. #define _AIstateWaitressPrimp2            66
  1041. #define _AIstateWaitressWalk            67
  1042. #define _AIstateWaitressIdle            68
  1043. #define _AIstateWaitressFlirt            69
  1044. #define    _AIstateRadioactive                70
  1045. #define    _AIstateDweller1Sitting            71
  1046. #define    _AIstateDweller2Sitting            72
  1047. #define    _AIstateDweller3Sitting            73
  1048. #define _AIstateFemale1Sitting            74
  1049. #define _AIstateFemale2Sitting            75
  1050. #define _AIstateFemale1Sleeping            76
  1051. #define _AIstateFemale1BarIdle            77
  1052. #define _AIstateDetachReattachToPath    78
  1053.  
  1054.  
  1055. #define    _AIinspecialmode        0x10000
  1056. #define    _AInotonpath            0x20000
  1057. #define    _AInomove                0x40000
  1058. #define    _AIlockedtoactor        0x80000
  1059. #define    _AIinvisible            0x100000
  1060. #define    _AIstayonpath            0x200000
  1061. #define    _AInoturn                0x400000
  1062. #define    _AIcloseupaction        0x800000        //used for close proximity special actions
  1063. #define    _AIdontdopickdest        0x1000000        //make sure PickDest() is not called
  1064. #define    _AIcombatmodereact        0x2000000
  1065.  
  1066.  
  1067. //Variables shared in RenED
  1068. #define    _AIclasscop                0x1
  1069. #define    _AIclassworker            0x2
  1070. #define    _AIclassdroid            0x4
  1071. #define    _AIclasschot            0x8
  1072. #define    _AIclassangel            0x10
  1073. #define    _AIclassbeast            0x20
  1074. #define    _AIclassabeast            0x40
  1075. #define    _AIclassprost            0x80
  1076. #define    _AIclasspimp            0x100
  1077. #define    _AIclasspriest            0x200
  1078. #define    _AIclassdweller            0x400
  1079. #define    _AIclassscientist        0x800
  1080. #define    _AIclassbarpeople        0x1000
  1081. #define    _AIclassmale            0x2000
  1082. #define    _AIclassfemale            0x4000
  1083. #define    _AIclassriotcop            0x8000
  1084. #define    _AIclassHipGun            0x10000
  1085. #define    _AIclasslightgun        0x20000
  1086. #define    _AIclassCloseRange        0x40000
  1087. #define    _AIclassmedic            0x80000
  1088. //#define    _AIclassWalkOnly        0x100000
  1089. #define    _AIclassFlameThrower    0x110000
  1090. #define    _AIclasssubgirl            0x200000
  1091. #define    _AIclassanimal            0x400000
  1092. #define    _AIclassSatan            0x800000
  1093. #define    _AIclassBouncer            0x1000000
  1094. #define    _AIclassEnemy            0x80000000        //AI assigned flag when character is changing from friend to enemy because of hostile actions
  1095.  
  1096. #define _AIclassfriendly        _AIclasscop|_AIclassworker|_AIclassdroid|_AIclasschot|_AIclassangel|_AIclassbeast|_AIclassabeast|_AIclassprost|_AIclasspimp|_AIclasspriest|_AIclassdweller|_AIclassscientist|_AIclassbarpeople|_AIclassmale|_AIclassfemale|_AIclassriotcop|_AIclassHipGun|_AIclasslightgun|_AIclassmedic|_AIclasssubgirl|_AIclassanimal
  1097.  
  1098. #define    _AIClassBobSkeleton        _AIclassmale|_AIclassangel
  1099. #define    _AIClassCopSkeleton        _AIclassmale|_AIclasscop|_AIclassworker|_AIclasschot|_AIclasspimp|_AIclassdweller|_AIclassscientist|_AIclassriotcop|_AIclassmedic|_AIclassbarpeople
  1100. #define    _AIClassProstSkeleton    _AIclassfemale|_AIclassprost|_AIclassdweller|_AIclasscop|_AIclasssubgirl|_AIclassbarpeople
  1101. #define    _AIClassAbeastSkeleton    _AIclassmale|_AIclassabeast
  1102. #define    _AIClassBeastSkeleton    _AIclassmale|_AIclassbeast|_AIclassBouncer
  1103.  
  1104. #define    _AIClassAllButAngel        _AIclasscop|_AIclassworker|_AIclasschot|_AIclasspimp|_AIclassdweller|_AIclassscientist|_AIclassriotcop|_AIclassmedic|_AIclassbarpeople
  1105.  
  1106. //    Reverb sound definitions
  1107. //
  1108.  
  1109. #define REVERB_GENERIC            1
  1110. #define REVERB_PADDEDCELL        2
  1111. #define REVERB_ROOM                3
  1112. #define REVERB_BATHROOM            4
  1113. #define REVERB_LIVINGROOM        5
  1114. #define REVERB_STONEROOM        6
  1115. #define REVERB_AUDITORIUM        7
  1116. #define REVERB_CONCERTHALL        8
  1117. #define REVERB_CAVE                9
  1118. #define REVERB_ARENA            10
  1119. #define REVERB_HANGAR            11
  1120. #define REVERB_CARPETEDHALLWAY    12
  1121. #define REVERB_HALLWAY            13
  1122. #define REVERB_STONECORRIDOR    14
  1123. #define REVERB_ALLEY            15
  1124. #define REVERB_FOREST            16
  1125. #define REVERB_CITY                17
  1126. #define REVERB_MOUNTAINS        18
  1127. #define REVERB_QUARRY            19
  1128. #define REVERB_PLAIN            20
  1129. #define REVERB_PARKINGLOT        21
  1130. #define REVERB_SEWERPIPE        22
  1131. #define REVERB_UNDERWATER        23
  1132. #define REVERB_DRUGGED            24
  1133. #define REVERB_DIZZY            25
  1134. #define REVERB_PSYCHOTIC        26
  1135.  
  1136.  
  1137. //same definitions in SXStructs.h. Update both
  1138.  
  1139. #define    _SXMFlat            1
  1140. #define    _SXMTexture            2
  1141. #define    _SXMWire            4
  1142. #define    _SXMBumpMap            8
  1143. #define    _SXMGouraud            16
  1144. #define    _SXMSubTrans        32
  1145. #define    _SXMAddTrans        64
  1146. #define    _SXMChromaKey        128
  1147. #define    _SXMMipMap            256
  1148. #define    _SXMSecondaryMem    512
  1149. #define    _SXMTwoSided        1024
  1150. #define    _SXMEnvMap            2048
  1151. #define    _SXMPaletteIn32Bit    4096
  1152. #define    _SXMDisableZBuffer    8192
  1153. #define    _SXMUseShadowMap    16384
  1154. #define    _SXMDisableZWrites    32768
  1155.  
  1156.  
  1157. //fogtype values
  1158. #define _SXFogOff        0
  1159. #define _SXFogLinear    1
  1160. #define _SXFogExp        2
  1161. #define _SXFogExp2        3
  1162.  
  1163. //fogchange actions
  1164. #define _SXFogType        0
  1165. #define _SXFogColor        1            //RGB compressed into a long
  1166. #define _SXFogDensity    2            //float
  1167. #define _SXFogNear        3            //float
  1168. #define _SXFogFar        4            //float
  1169.  
  1170.  
  1171. //changetrigger values
  1172. #define _SXTrigDoor                2048
  1173. #define _SXTrigPanel            4096
  1174.  
  1175.  
  1176. //CutScene Flag Values
  1177. #define    _SXCUTnosmooth            1
  1178. #define    _SXCUTdontreset            2
  1179.  
  1180. //ChangeCutScene functions
  1181. #define    _SXCUTflag                1
  1182. #define _SXCUTspeed                2
  1183.  
  1184. #define    _SXBoneAttAbsolute                1
  1185. #define    _SXBoneAttRelative                2
  1186.  
  1187. //AI Control flags
  1188. #define        _AICRetreat                    1                            //recommends retreat
  1189. #define        _AICAttack                    2                            //recommends frontal attack
  1190. #define        _AICHide                    4                            //recommends retreat
  1191. #define        _AICRetreatUsingHide        _AICRetreat|_AICHide        //recommends retreat
  1192. #define        _AICAttackUsingHide            _AICAttack|_AICHide            //recommends attack using hide
  1193.  
  1194. #define        _AIHCReset                    0
  1195. #define        _AIHCInRoute                0
  1196. #define        _AIHCFollowPath                1
  1197. #define        _AIHCAttack                    3
  1198. #define        _AIHCAttackLCorner            4
  1199. #define        _AIHCAttackRCorner            5
  1200. #define        _AIHCAttackOEdge            6
  1201.  
  1202. //AI usage flags
  1203. #define        _AIUHideForRetreat            0x1        //able to use hide nodes while in retreat mode
  1204. #define        _AIUHideForAttack            0x2        //able to use hide nodes while in attack mode
  1205. #define        _AIUHideAttackOffensive        0x4        //moves forward constantly shooting once and picking closer node. Goes head one after no more hide nodes left
  1206. #define        _AIUHideAttackDefensive        0x8        //stays at hide node as long as he knows where enemy is at. If nobody spotted then move forward
  1207. #define        _AIUHideRetreatOffensive    0x10    //retreat to nearest hide node
  1208. #define        _AIUHideRetreatDefensive    0x20    //retreat to nearest hidenode and keep retreating further away until no more nodes can be found
  1209. #define        _AIUHideLeanOutRetreat        0x40    //allows him to lean out and take popshots while being in retreat mode
  1210. #define        _AIUHideLeanOutAttack        0x80    //allows him to lean out and take popshots while being in attack mode
  1211. #define        _AIUSurrender                0x100    //surrenders if gun is pulled on him
  1212. #define        _AIUAttackIfUnseen            0x200    //only attacks from behind. Some civilian types use this
  1213. #define        _AIUAdvanceIfEnemyUnseen    0x400    //stays back as long as actor can see or know exactly where enemy is
  1214. #define        _AIUAlwaysRun                0x800    //never try to use walk animations
  1215. #define        _AIUAdvanceUsingPath        0x1000    //uses character specific path for attack
  1216. #define        _AIUCrouchToDefend            0x2000    //Crouch down when challenged riot cop style
  1217. #define        _AIUCrowdAroundLeader        0x4000    //For little guys like dwarf chots
  1218. #define        _AIUFindHost                0x8000    //Seeks out host
  1219.  
  1220. //AI ability flags
  1221. #define        _AIAJump                    1
  1222. #define        _AIAClimb                    2
  1223. #define        _AIAHideWeapon                4
  1224. #define        _AIAPickUpWeapon            8
  1225. #define        _AIAFlashVisors                16
  1226. #define        _AIAShield                    32
  1227. #define        _AIAFakeWeapon                64        //If character's weapon is a part of the model and you want people to regard the actor as a threat
  1228. #define        _AIASpecialSecondaryWeapon    128        //Don't throw grenade
  1229. #define        _AIANoCrawl                    256        //don't fall to crawl when actor's crawl threshold is reached
  1230. #define        _AIANoBoneCollision            512        //turns off sniper bone collision on character
  1231. #define        _AIAAlwaysInCombatMode        1024    //for characters having no special combat state
  1232. #define        _AIANoThrown                2048    //don't allow characters to get thrown
  1233. #define        _AIAPossesion                4096    //can possess other characters
  1234.  
  1235.  
  1236. //            Headers
  1237. #define        Sub_ReactToBulletOrExplosion        20000
  1238. #define        Sub_AISetAttack                        20001
  1239.  
  1240.  
  1241.  
  1242. #endif
  1243.